package org.ekingstar.qd.service;

import java.util.List;
import org.ekingstar.qd.domain.QdFunction;


/**
 * 功能权限控制业务处理接口
 * @author 
 */
public interface CFunctionService {

	/**
	 * @descripte 获取所有功能点信息	 
	 * @return List
	 */
	public List<QdFunction> getFunctionList();
	
	
	/**
	 * @descripte 根据父功能点ID号获取功能点信息
	 * @param strParentId 功能点父ID号
	 * @return List
	 */
	public List<QdFunction> getFunctionList(String strParentId);
	
	
	/**
	 * @descripte 根据功能点ID号获取功能点信息
	 * @param strFunctionId 功能点ID号
	 * @return QdFunction
	 */
	public QdFunction getFunction(String strFunctionId);
		

	/**
	 * @descripte 根据功能点ID号和用户信息，判断该用户是否具有访问该功能点的权限，有为1，否则为-1
	 * @param strFunctionId 功能点ID号
	 * @param userId        用户ID号
	 * @return int
	 */
	public int VerifyPermission(String strFunctionId,String userId);
	
	
	/**
	 * @descripte 增加功能点，成功返回1，否则返回-1
	 * @param strNo       功能号
	 * @param strParentId 父功能点ID号
	 * @param strName     功能点名称
	 * @param strDescript 功能点描述
	 * @return int
	 */
	public int addFunction(String strParentId,String strNo,String strName,String strDescript);
	
	
	/**
	 * @descripte 根据功能点ID号，修改功能点信息，成功返回1，否则返回-1
	 * @param strNo               功能号
	 * @param strFunctionId       功能点ID号
	 * @param strName             功能点名称
	 * @param strDescript         功能点描述
	 * @return int
	 */
	public int updateFunction(String strFunctionId,String strNo,String strName,String strDescript);
	
	
	/**
	 * @descripte 根据功能点ID号，删除功能点，成功返回1，否则返回-1
	 * @param strFunctionId       功能点ID号集
	 * @return int
	 */
	public int deleteFunction(String[] strFunctionId);
}
